/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Fifth;

/**
 *
 * 设计一个表示一元二次方程ax^2+bx+c=0，的Java类，该类包含以下内容：
 *
 * 表示三个系数a、b和c的三个私有成员变量
 *
 * 一个有三个参数用来初始化上述三个成员变量的构造方法
 *
 * 上述三个私有成员变量的get方法
 *
 * 一个用于计算一元二次方程判别式的getDiscriminant()方法
 *
 * 用于分别计算方程两个根的方法getRoot1()和getRoot2()，当判别式为负数时，这两个方法返回0。
 *
 * @author
 */
public class Hanshu {
    //创建成员变量

    private double a;
    private double b;
    private double c;

    //初始化成员变量
    public Hanshu(double a, double b, double c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    //a、b、c的get方法
    public double geta() {
        return a;
    }

    public double getb() {
        return b;
    }

    public double getc() {
        return c;
    }

    //跟的判别式
    public double getDiscriminant(Hanshu list) {
        double k = list.b * list.b - 4 * list.a * list.c;
        return k;
    }

    public double getRoot1(Hanshu list) { //x1为大根
        if (getDiscriminant(list) < 0) {
            return 0;
        } else {
            double x1;
            x1 = (Math.sqrt(list.b * list.b + 4 * list.a * list.c) - list.b) / (2 * list.a);
            double x2;
            x2 = (-Math.sqrt(list.b * list.b + 4 * list.a * list.c) - list.b) / (2 * list.a);
            if (x1 > x2) {
                return x1;
            } else {
                return x2;
            }
        }
    }

    public double getRoot2(Hanshu list) { //x2为小根
        if (getDiscriminant(list) < 0) {
            return 0;
        } else {
            double x1;
            x1 = (Math.sqrt(list.b * list.b + 4 * list.a * list.c) - list.b) / (2 * list.a);
            double x2;
            x2 = (-Math.sqrt(list.b * list.b + 4 * list.a * list.c) - list.b) / (2 * list.a);
            if (x1 < x2) {
                return x1;
            } else {
                return x2;
            }
        }
    }
}
